--- title: "L2-014 列车调度" created: 2025-11-28 tags: - 算法 --- # L2-014 列车调度 ## 题目 [L2-014 列车调度](https://pintia.cn/problem-sets/994805046380707840/exam/problems/type/7?problemSetProblemId=994805063166312448&page=1) ![[image-b2d8dffb.png]] ## 思路分析 ![[image-ba8390d0.png]] 是拦截导弹的简化 ## 代码实现 ```cpp #include using namespace std; #define endl '\n' using ll = long long; using ull = unsigned long long; using PII = pair; using Pll = pair; int dx[4]={-1,0,1,0},dy[4]={0,1,0,-1}; const int inf = 0x3f3f3f3f; const int N=1e5+10; int stackTop[N],cnt; int main(){ ios::sync_with_stdio(0),cin.tie(0),cout.tie(0); int n,x;cin>>n; while(n--){ cin>>x; int l=0,r=cnt; while(l>1; if(stackTop[mid]>=x) r=mid; else l=mid+1; } if(stackTop[r] using namespace std; #define endl '\n' using ll = long long; using ull = unsigned long long; using PII = pair; using Pll = pair; int dx[4]={-1,0,1,0},dy[4]={0,1,0,-1}; const int inf = 0x3f3f3f3f; const int N=1e5+10; set stackTop; int main(){ ios::sync_with_stdio(0),cin.tie(0),cout.tie(0); int n,x;cin>>n; while(n--){ cin>>x; auto i = stackTop.lower_bound(x); if(i!=stackTop.end()){ stackTop.erase(i); stackTop.insert(x); }else{ stackTop.insert(x); } } cout<